home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / share / checkbox / plugins / category_prompt.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2009-10-12  |  2.0 KB  |  55 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. from gettext import gettext as _
  5. from checkbox.properties import String
  6. from checkbox.plugin import Plugin
  7.  
  8. class CategoryPrompt(Plugin):
  9.     category = String(required = False)
  10.     
  11.     def register(self, manager):
  12.         super(CategoryPrompt, self).register(manager)
  13.         for rt, rh in [
  14.             ('gather-persist', self.gather_persist),
  15.             ('prompt-category', self.prompt_category)]:
  16.             self._manager.reactor.call_on(rt, rh)
  17.         
  18.  
  19.     
  20.     def gather_persist(self, persist):
  21.         self.persist = persist.root_at('category_prompt')
  22.  
  23.     
  24.     def prompt_category(self, interface):
  25.         if not self.persist.get('category'):
  26.             pass
  27.         category = self.category
  28.         registry = self._manager.registry
  29.         if not category:
  30.             formfactor = registry.hal.computer.system.formfactor
  31.             if formfactor is not 'unknown':
  32.                 category = formfactor
  33.             
  34.         
  35.         if not category:
  36.             architecture = registry.dpkg.architecture
  37.             if architecture is 'sparc':
  38.                 category = 'server'
  39.             
  40.         
  41.         if not category:
  42.             version = registry.hal.computer.system.kernel.version
  43.             if str(version).endswith('-server'):
  44.                 category = 'server'
  45.             
  46.         
  47.         if not category:
  48.             category = interface.show_category(_('Category'), _('Please select the category of your system.'), category)
  49.         
  50.         self.persist.set('category', category)
  51.         self._manager.reactor.fire('report-category', category)
  52.  
  53.  
  54. factory = CategoryPrompt
  55.